package club.pojo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * AdoptAnimal 类用于表示用户领养宠物的实体类。
 *
 * - id: 领养记录ID
 * - userId: 领养者用户ID
 * - petId: 领养的宠物ID
 * - adoptTime: 领养时间，使用 @JsonFormat 和 @DateTimeFormat 注解将日期格式化为 "yyyy-MM-dd" 格式，时区为 GMT+8。
 * - state: 领养状态，例如领养成功或者其他状态
 *
 * 下面两个属性使用 @TableField(exist = false) 注解，表示在数据库表中不存在，仅在程序中临时使用：
 * - pet: 领养的宠物对象，用于临时存储领养的宠物信息
 * - user: 领养者用户对象，用于临时存储领养者的用户信息
 */
@Data
public class AdoptAnimal {
    private Integer id;
    private Integer userId;
    private Integer petId;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date adoptTime;
    private Integer state;

    @TableField(exist = false)
    private Pet pet;
    @TableField(exist = false)
    private User user;

}
